//
//  MQTTCoverTool.h
//  MQTTNetworkTools
//
//  Created by Yahaong on 16/8/2.
//  Copyright © 2016年 yahaong. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <XAISDK/XAIMQTTDEF.h>
@interface MQTTCoverTool : NSObject

+ (NSString*) mobileStatusTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid other:(uint8_t)other;
+ (NSString*) mobileAllDevStatusTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) mobileConfigAllTopicWithAPNS:(XAITYPEAPSN)apsn luid:(XAITYPELUID)luid;
+ (NSString*) mobileDevTableTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) mobileCtrTopicWithAPNS:(XAITYPEAPSN)apsn luid:(XAITYPELUID)luid;
+ (NSString*) mobileConfigUserTopicWithAPNS:(XAITYPEAPSN)apsn luid:(XAITYPELUID)luid;
+ (NSString*) nodeStatusTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid other:(uint8_t)other;

+ (NSString*) nodeDevTableTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) nodeAllDevTableTopicWithAPNS:(XAITYPEAPSN)APNS;
+ (NSString*) nodeAllDevStatusTopicWithAPNS:(XAITYPEAPSN)APNS;
+ (NSString*) nodeDevStatusTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) nodeCtrlTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;

+ (NSString*) gatwayStatusTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid other:(uint8_t)other;
+ (NSString*) gatewayConfigAllUserTopicWithAPNS:(XAITYPEAPSN)apsn luid:(XAITYPELUID)luid;
+ (NSString*) gatewayConfigAllUserActiveTopicWithAPNS:(XAITYPEAPSN)apsn luid:(XAITYPELUID)luid;
+ (NSString*) gatewayConfigUserPushTopicWithAPNS:(XAITYPEAPSN)apsn luid:(XAITYPELUID)luid;
+ (NSString*) gatewayDevTableTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) gatewayConfigLinkageTopicWithAPNS:(XAITYPEAPSN)apsn luid:(XAITYPELUID)luid;
+ (NSString*) gatewayCtrlTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) gatewayAllStatusTableTopicWithAPNS:(XAITYPEAPSN)APNS;

+ (NSString*) virtualStatusTopicWithAPNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) stringFormat:( NSString*)format type:(NSString*)type APNS:(XAITYPEAPSN)APNS luid:(XAITYPELUID)luid;
+ (NSString*) hexStringFromByte:(Byte *)bytes length:(NSInteger)length;
+ (NSData*)  hexStringToByte: (NSString*) string;
+ (uint64_t) decimalWithHexString:(NSString *)hexString;
+ (XAITYPEAPSN) dataToApsn:(void *)data;
+ (XAITYPELUID) dataToLuid:(void *)data;
+ (NSString*) apsnToString:(XAITYPEAPSN)apsn;
+ (NSString*) luidToString:(XAITYPELUID)luid;
+ (NSString*) stringOther:(uint8_t)other;
+ (NSString *)phoneNumFromLuid:(XAITYPELUID)luid;
+ (XAITYPELUID) mobileToLuid:(NSString *)mobile;
+ (NSString *) luidToMobile:(XAITYPELUID)luid;
+ (BOOL) isMobileNumber:(NSString *)mobileNum;


@end
